Crate kas_text[][src]

KAS-text: text layout library

KAS-text supports plain text input, custom formatted text objects (see the format module) and a subset of Markdown (format::Markdown).

This library supports the following feature flags:

  • shaping: enable complex text shaping via the Harfbuzz library (this is optional since the built-in alternative works sufficiently well for most languages)
  • markdown: enable Markdown parsing via pulldown-cmark
  • gat: experimental API improvements using Generic Associated Types; since Rust’s support for this is incomplete, it should be considered no more than an API preview and usage is not recommended in practice

Modules

conv

Type conversion utilities

fonts

Font selection and loading

format

Parsers for formatted text

Structs

Effect

Effect formatting marker

EffectFlags

Text effects

EnvFlags

Environment flags

Environment

Environment in which text is prepared for display

Glyph

A positioned glyph

GlyphId

A type-safe wrapper for glyph ID.

MarkerPos

Used to return the position of a glyph with associated metrics

MarkerPosIter
OwningVecIter

An iterator over a Vec which clones elements

Range

Range type

Text

Text, prepared for display in a given enviroment

TextDisplay

Text display, without source text representation

UpdateEnv

Helper to modify an environment

Vec2

2D vector (position/size/offset) over f32

Enums

Action

Describes required text-preparation actions

Align

Alignment of contents

Direction

Directionality of environment

Traits

EditableTextApi

Trait over a sub-set of Text functionality for editable text

TextApi

Trait over a sub-set of Text functionality

TextApiExt

Extension trait over TextApi